﻿using CozeDomain.Entities;
using CozeDto.TenantsDtos;
using D.UtilCore.Dtos;
using D.UtilFreesqlOrm;

namespace CozeDomain.IServices
{
    /// <summary>
    /// 站点接口
    /// </summary>
    public interface ITenantsService : IBaseService<TenantsEntity>
    {
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="reqAddTenants"></param>
        /// <returns></returns>
        Task<ApiResult<int>> AddTenantsAsync(ReqAddTenants reqAddTenants);

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        Task<ApiResult<int>> DeleteTenantsAsync(List<string> ids);

        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="reqUpdateTenants"></param>
        /// <returns></returns> 
        Task<ApiResult<int>> UpdateTenantsAsync(ReqUpdateTenants reqUpdateTenants);

        /// <summary>
        /// 单个查询
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns> 
        Task<ApiResult<RepTenantsInfo>> GetTenantsAsync(string id);

        /// <summary>
        /// 查询列表
        /// </summary>
        /// <returns></returns>
        Task<ApiResult<List<RepTenantsInfo>>> QueryTenantsListAsync();

        /// <summary>
        /// 分页查询
        /// </summary>
        /// <param name="reqQueryTenantsPage"></param>
        /// <returns></returns>
        Task<ApiResult<PageModel<RepTenantsInfo>>> QueryTenantsPagesAsync(ReqQueryTenantsPage reqQueryTenantsPage);

        /// <summary>
        /// 获取站点详情
        /// </summary>
        /// <param name="realmName"></param>
        /// <returns></returns>
        Task<ApiResult<RepNoticeDetail>> GetTenantsNoticeAsync(string realmName);
        
    }
}
